package com.dv.driverless.domain;

import java.util.Date;

import com.dv.common.core.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.dv.common.annotation.Excel;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 出库计划下发（对象 plan_delivery
 *
 * @author ruoyi
 * @date 2023-04-14
 */
public class PlanDelivery extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long id;

    /** 装车单号/装船单号 */
    @Excel(name = "装车单号/装船单号")
    private String outPlanNo;

    /** 操作类型【0：删除 1：新增修改】 */
    @Excel(name = "操作类型【0：删除 1：新增修改】")
    private String operationType;

    /** 仓库代码 */
    @Excel(name = "仓库代码")
    private String deptId;

    /** 货主代码 */
    @Excel(name = "货主代码")
    private String ownerId;

    /** 货主名称 */
    @Excel(name = "货主名称")
    private String ownerName;

    /** 司机名称 */
    @Excel(name = "司机名称")
    private String driverName;

    /** 运输方式【10：汽运；20：水（船）运；30：铁运；】 */
    @Excel(name = "运输方式【10：汽运；20：水", readConverterExp = "船=")
    private String transportType;

    /** 车船号【车牌号或者车队名称】 */
    @Excel(name = "车船号【车牌号或者车队名称】")
    private String vehicleCode;

    /** 交货地点代码(到站港) */
    @Excel(name = "交货地点代码(到站港)")
    private String dlvSpotCode;

    /** 交货地点名称(到站港) */
    @Excel(name = "交货地点名称(到站港)")
    private String dlvSpotName;

    /** 计划总件数 */
    @Excel(name = "计划总件数")
    private String qtySum;

    /** 计划总重量 */
    @Excel(name = "计划总重量")
    private String netWeightSum;

    /** 计划送达时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "计划送达时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date planArriveDate;

    /** 制单人 */
    @Excel(name = "制单人")
    private String operatorName;

    /** 制单时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "制单时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date operatorDate;

    /** 司机身份证号 */
    @Excel(name = "司机身份证号")
    private String idCard;

    /** 明细捆包集合 */
    @Excel(name = "明细捆包集合")
    private String packDetailList;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setOutPlanNo(String outPlanNo)
    {
        this.outPlanNo = outPlanNo;
    }

    public String getOutPlanNo()
    {
        return outPlanNo;
    }
    public void setOperationType(String operationType)
    {
        this.operationType = operationType;
    }

    public String getOperationType()
    {
        return operationType;
    }
    public void setDeptId(String deptId)
    {
        this.deptId = deptId;
    }

    public String getDeptId()
    {
        return deptId;
    }
    public void setOwnerId(String ownerId)
    {
        this.ownerId = ownerId;
    }

    public String getOwnerId()
    {
        return ownerId;
    }
    public void setOwnerName(String ownerName)
    {
        this.ownerName = ownerName;
    }

    public String getOwnerName()
    {
        return ownerName;
    }
    public void setDriverName(String driverName)
    {
        this.driverName = driverName;
    }

    public String getDriverName()
    {
        return driverName;
    }
    public void setTransportType(String transportType)
    {
        this.transportType = transportType;
    }

    public String getTransportType()
    {
        return transportType;
    }
    public void setVehicleCode(String vehicleCode)
    {
        this.vehicleCode = vehicleCode;
    }

    public String getVehicleCode()
    {
        return vehicleCode;
    }
    public void setDlvSpotCode(String dlvSpotCode)
    {
        this.dlvSpotCode = dlvSpotCode;
    }

    public String getDlvSpotCode()
    {
        return dlvSpotCode;
    }
    public void setDlvSpotName(String dlvSpotName)
    {
        this.dlvSpotName = dlvSpotName;
    }

    public String getDlvSpotName()
    {
        return dlvSpotName;
    }
    public void setQtySum(String qtySum)
    {
        this.qtySum = qtySum;
    }

    public String getQtySum()
    {
        return qtySum;
    }
    public void setNetWeightSum(String netWeightSum)
    {
        this.netWeightSum = netWeightSum;
    }

    public String getNetWeightSum()
    {
        return netWeightSum;
    }
    public void setPlanArriveDate(Date planArriveDate)
    {
        this.planArriveDate = planArriveDate;
    }

    public Date getPlanArriveDate()
    {
        return planArriveDate;
    }
    public void setOperatorName(String operatorName)
    {
        this.operatorName = operatorName;
    }

    public String getOperatorName()
    {
        return operatorName;
    }
    public void setOperatorDate(Date operatorDate)
    {
        this.operatorDate = operatorDate;
    }

    public Date getOperatorDate()
    {
        return operatorDate;
    }
    public void setIdCard(String idCard)
    {
        this.idCard = idCard;
    }

    public String getIdCard()
    {
        return idCard;
    }
    public void setPackDetailList(String packDetailList)
    {
        this.packDetailList = packDetailList;
    }

    public String getPackDetailList()
    {
        return packDetailList;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("outPlanNo", getOutPlanNo())
                .append("operationType", getOperationType())
                .append("deptId", getDeptId())
                .append("ownerId", getOwnerId())
                .append("ownerName", getOwnerName())
                .append("driverName", getDriverName())
                .append("transportType", getTransportType())
                .append("vehicleCode", getVehicleCode())
                .append("dlvSpotCode", getDlvSpotCode())
                .append("dlvSpotName", getDlvSpotName())
                .append("qtySum", getQtySum())
                .append("netWeightSum", getNetWeightSum())
                .append("planArriveDate", getPlanArriveDate())
                .append("operatorName", getOperatorName())
                .append("operatorDate", getOperatorDate())
                .append("idCard", getIdCard())
                .append("packDetailList", getPackDetailList())
                .toString();
    }
}
